import {createApp} from 'vue'
import App from './App.vue'
// Pinia 插件
import pinia from '@/store'
// 路由插件
import router from '@/router'
// 样式
import '@styles'
// 获取并保存 RSA 通用公钥
import {getAndSaveRsaCommonPubKey} from "@encrypt"
import {addRoutesDynamic} from "@router"

/**
 * 创建 vue 应用实例对象
 *
 * @type {App<Element>} vue 应用实例对象
 */
const app = createApp(App)

/**
 * 注册使用插件
 */
// 注册使用 pinia
app.use(pinia)
// 获取并保存 RSA 通用公钥
await getAndSaveRsaCommonPubKey()
// 动态添加路由
await addRoutesDynamic(router)
// 注册使用路由
app.use(router)

/**
 * 将 vue 应用实例对象挂载
 */
app.mount('#app')
